package com.scorpio.agentuser.service;


import com.scorpio.agentuser.domain.AgentUserEntity;
import com.scorpio.agentuser.dto.AgentUserDTO;
import com.scorpio.agentuser.vo.*;

import java.util.List;

public interface AgentUserService {

    AgentUserEntity selectById(Long agentId);

    AgentUserDTO selectDetailsById(Long agentId);

    AgentUserEntity selectByPhone(String phone);

    AgentUserEntity selectByUsername(String username);

    //wx创建用户u
    int createUser(AgentUserEntity entity, CreateUserVo vo);

    int updateUser(UpdateUserVo vo);

    int updatePassword(AgentUserEntity entity, UpdatePasswordVo vo);

    int updateIncomeScale(AgentUserEntity entity, UpdateIncomeScaleVo vo);

    List<AgentUserDTO> lowerUserList(AgentUserEntity entity);

    int resetAgentPwd(Long agentId,String password);

    /**
     * 查询代理商用户
     *
     * @param remark 代理商用户ID
     * @return 代理商用户
     */
    AgentUserEntity selectById(String remark);

    /**
     * 查询代理商用户列表
     *
     * @param entity 代理商用户
     * @return 代理商用户集合
     */
    List<AgentUserEntity> selectList(AgentUserEntity entity);

    /**
     * 新增代理商用户
     *
     * @param entity 代理商用户
     * @return 结果
     */
    int save(CreateUpdateUserVo vo);

    /**
     * 修改代理商用户
     *
     * @param entity 代理商用户
     * @return 结果
     */
    int update(CreateUpdateUserVo vo);

    /**
     * 批量删除代理商用户
     *
     * @param remarks 需要删除的代理商用户ID
     * @return 结果
     */
    int deleteByIds(String[] remarks);

    /**
     * 删除代理商用户信息
     *
     * @param remark 代理商用户ID
     * @return 结果
     */
    int deleteById(String remark);
}
